package org.apache.dolphinscheduler.dao.entity;

import java.io.Serializable;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * <p>
 * 路由表
 * </p>
 *
 * @author denggh
 * @since 2023-02-08
 */
@TableName("t_router")
public class Router implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 路由名称
     */
    private String name;

    /**
     * 外部网络
     */
    private String network;

    /**
     * 带宽
     */
    private String bandWidth;

    /**
     * IP地址
     */
    private String ipAddress;

    /**
     * 上行
     */
    private String upLink;

    /**
     * 下行
     */
    private String downLink;

    /**
     * 上行
     */
    private String upVelocity;

    /**
     * 下行
     */
    private String downVelocity;

    /**
     * API地址
     */
    private String apiAddress;

    /**
     * 目的地址
     */
    private String address;

    /**
     * 掩码
     */
    private String mask;

    /**
     * 默认网关
     */
    private String gateway;

    /**
     * 出接口
     */
    private String outInterface;

    /**
     * 状态，-1：逻辑删除，0：禁用，1：启用
     */
    private Integer status;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getNetwork() {
        return network;
    }

    public void setNetwork(String network) {
        this.network = network;
    }

    public String getBandWidth() {
        return bandWidth;
    }

    public void setBandWidth(String bandWidth) {
        this.bandWidth = bandWidth;
    }

    public String getIpAddress() {
        return ipAddress;
    }

    public void setIpAddress(String ipAddress) {
        this.ipAddress = ipAddress;
    }

    public String getUpLink() {
        return upLink;
    }

    public void setUpLink(String upLink) {
        this.upLink = upLink;
    }

    public String getDownLink() {
        return downLink;
    }

    public void setDownLink(String downLink) {
        this.downLink = downLink;
    }

    public String getUpVelocity() {
        return upVelocity;
    }

    public void setUpVelocity(String upVelocity) {
        this.upVelocity = upVelocity;
    }

    public String getDownVelocity() {
        return downVelocity;
    }

    public void setDownVelocity(String downVelocity) {
        this.downVelocity = downVelocity;
    }

    public String getApiAddress() {
        return apiAddress;
    }

    public void setApiAddress(String apiAddress) {
        this.apiAddress = apiAddress;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getMask() {
        return mask;
    }

    public void setMask(String mask) {
        this.mask = mask;
    }

    public String getGateway() {
        return gateway;
    }

    public void setGateway(String gateway) {
        this.gateway = gateway;
    }

    public String getOutInterface() {
        return outInterface;
    }

    public void setOutInterface(String outInterface) {
        this.outInterface = outInterface;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Override
    public String toString() {
        return "Router{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", network='" + network + '\'' +
                ", bandWidth='" + bandWidth + '\'' +
                ", ipAddress='" + ipAddress + '\'' +
                ", upLink='" + upLink + '\'' +
                ", downLink='" + downLink + '\'' +
                ", upVelocity='" + upVelocity + '\'' +
                ", downVelocity='" + downVelocity + '\'' +
                ", apiAddress='" + apiAddress + '\'' +
                ", address='" + address + '\'' +
                ", mask='" + mask + '\'' +
                ", gateway='" + gateway + '\'' +
                ", outInterface='" + outInterface + '\'' +
                ", status=" + status +
                ", createTime=" + createTime +
                '}';
    }
}
